* Step 1: Bounds WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            add(X1,mark(X2)) -> mark(add(X1,X2))
            add(mark(X1),X2) -> mark(add(X1,X2))
            add(ok(X1),ok(X2)) -> ok(add(X1,X2))
            fact(mark(X)) -> mark(fact(X))
            fact(ok(X)) -> ok(fact(X))
            if(mark(X1),X2,X3) -> mark(if(X1,X2,X3))
            if(ok(X1),ok(X2),ok(X3)) -> ok(if(X1,X2,X3))
            p(mark(X)) -> mark(p(X))
            p(ok(X)) -> ok(p(X))
            prod(X1,mark(X2)) -> mark(prod(X1,X2))
            prod(mark(X1),X2) -> mark(prod(X1,X2))
            prod(ok(X1),ok(X2)) -> ok(prod(X1,X2))
            proper(0()) -> ok(0())
            proper(false()) -> ok(false())
            proper(true()) -> ok(true())
            s(mark(X)) -> mark(s(X))
            s(ok(X)) -> ok(s(X))
            top(mark(X)) -> top(proper(X))
            top(ok(X)) -> top(active(X))
            zero(mark(X)) -> mark(zero(X))
            zero(ok(X)) -> ok(zero(X))
        - Signature:
            {add/2,fact/1,if/3,p/1,prod/2,proper/1,s/1,top/1,zero/1} / {0/0,active/1,false/0,mark/1,ok/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add,fact,if,p,prod,proper,s,top,zero} and constructors {0
            ,active,false,mark,ok,true}
    + Applied Processor:
        Bounds {initialAutomaton = minimal, enrichment = match}
    + Details:
        The problem is match-bounded by 2.
        The enriched problem is compatible with follwoing automaton.
          0_0() -> 2
          0_1() -> 3
          active_0(2) -> 2
          active_1(2) -> 4
          active_2(3) -> 5
          add_0(2,2) -> 1
          add_1(2,2) -> 3
          fact_0(2) -> 1
          fact_1(2) -> 3
          false_0() -> 2
          false_1() -> 3
          if_0(2,2,2) -> 1
          if_1(2,2,2) -> 3
          mark_0(2) -> 2
          mark_1(3) -> 1
          mark_1(3) -> 3
          ok_0(2) -> 2
          ok_1(3) -> 1
          ok_1(3) -> 3
          ok_1(3) -> 4
          p_0(2) -> 1
          p_1(2) -> 3
          prod_0(2,2) -> 1
          prod_1(2,2) -> 3
          proper_0(2) -> 1
          proper_1(2) -> 4
          s_0(2) -> 1
          s_1(2) -> 3
          top_0(2) -> 1
          top_1(4) -> 1
          top_2(5) -> 1
          true_0() -> 2
          true_1() -> 3
          zero_0(2) -> 1
          zero_1(2) -> 3
* Step 2: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            add(X1,mark(X2)) -> mark(add(X1,X2))
            add(mark(X1),X2) -> mark(add(X1,X2))
            add(ok(X1),ok(X2)) -> ok(add(X1,X2))
            fact(mark(X)) -> mark(fact(X))
            fact(ok(X)) -> ok(fact(X))
            if(mark(X1),X2,X3) -> mark(if(X1,X2,X3))
            if(ok(X1),ok(X2),ok(X3)) -> ok(if(X1,X2,X3))
            p(mark(X)) -> mark(p(X))
            p(ok(X)) -> ok(p(X))
            prod(X1,mark(X2)) -> mark(prod(X1,X2))
            prod(mark(X1),X2) -> mark(prod(X1,X2))
            prod(ok(X1),ok(X2)) -> ok(prod(X1,X2))
            proper(0()) -> ok(0())
            proper(false()) -> ok(false())
            proper(true()) -> ok(true())
            s(mark(X)) -> mark(s(X))
            s(ok(X)) -> ok(s(X))
            top(mark(X)) -> top(proper(X))
            top(ok(X)) -> top(active(X))
            zero(mark(X)) -> mark(zero(X))
            zero(ok(X)) -> ok(zero(X))
        - Signature:
            {add/2,fact/1,if/3,p/1,prod/2,proper/1,s/1,top/1,zero/1} / {0/0,active/1,false/0,mark/1,ok/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add,fact,if,p,prod,proper,s,top,zero} and constructors {0
            ,active,false,mark,ok,true}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

WORST_CASE(?,O(n^1))